package com.lanou.quanttrade.utils.javabean;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@NoArgsConstructor
@AllArgsConstructor
public class RestObject {
    private Integer code;           //前端的状态码 0：业务失败  1：业务成功
    private String msg;              //前端需要展示的信息
    private Object data;            //前端需要的复杂数据
    //业务成功的方法----------
    /**
     * 业务成功，自定义返回msg和返回的数据
     * @param msg
     * @param data
     * @return
     */
    public static RestObject OK(String msg,Object data){
        return new RestObject(1,msg,data);
    }
    /**
     * 业务成功，自定义返回msg，无返回数据
     * @param msg
     * @return
     */
    public static RestObject OK(String msg){
        return OK(msg,null);
    }
    /**
     * 业务成功，自定义返回的数据，无返回msg
     * @param data
     * @return
     */
    public static RestObject OK(Object data){
        return OK(null,data);
    }
    //业务失败的方法----------
    /**
     * 业务失败，自定义返回msg和返回的数据
     * @param msg
     * @param data
     * @return
     */
    public static RestObject ERROR(String msg,Object data){
        return new RestObject(0,msg,data);
    }
    /**
     * 业务失败，自定义返回msg，无返回数据
     * @param msg
     * @return
     */
    public static RestObject ERROR(String msg){
        return ERROR(msg,null);
    }
    /**
     * 业务失败，自定义返回的数据，无返回msg
     * @param data
     * @return
     */
    public static RestObject ERROR(Object data){
        return ERROR(null,data);
    }
}